Protocol Independent Multicast Sparse Mode (PIM-SM) (see IETF RFC4601 of August 2006) is a well known and commonly applied protocol for building up and maintaining multicast trees in Internet Protocol (IP) multicast communication networks. In order to distribute multicast content to network nodes (hereinafter also referred to as “destinations”) of the multicast communication network, PIM-SM uses a single multicast tree.
In PIM-SM, a network node uses unicast forwarding of JOIN messages in order to join or to leave a multicast group. In order to join a multicast group, the network node sends a JOIN message in upstream direction of the multicast tree to a common source network node (the term “common source network node” hereinafter also includes a rendezvous point in the case of a shared tree). The JOIN message is routed along a path of the multicast tree determined by Multicast Routing Information Base (MRIB) tables. The paths listed in these tables are usually derived directly from unicast routing tables (but they could also be derived differently). Similarly, a network node wanting to leave a multicast group sends a PRUNE packet up the multicast tree to the common source network node.
The MRIB tables are used to determine next-hop neighbors to which the JOIN message is sent next. The JOIN message is routed and processed on a hop-by-hop basis until a network node already receiving the multicast content is reached. All network nodes along this path process the JOIN message and install/update corresponding multicast routing state information (e.g. by adding an incoming interface via which the JOIN message was received to an outgoing interface list). Multicast content flows along are routed a path which is reversed to that along which the JOIN messages (downwards direction).
Since, as already mentioned, the MRIB tables are usually derived from unicast routing tables, the JOIN messages are forwarded along the shortest path to the common source network node, which may differ from the shortest downstream path in the case of asymmetric link costs. As a result, multicast streams established using PIM-SIM may use suboptimal paths in a downward direction.
Since PIM-SM strongly depends on unicast routing, in case of a network failure, it has to be waited until the unicast routing has recovered. Thus, failure reaction is relatively slow. On the other hand, PIM-SM is commonly used nowadays for building up paths for real-time traffic (e.g. for IPTV). This means that failure reaction is a serious drawback. In order to overcome this drawback, IETF RFC5714 of January 2010 proposes creating a secondary path for an incoming multicast stream of a network node, thereby providing an immediate alternative path should a network node lose its connection with its primary upstream neighbor network node. However, this approach cannot guarantee that all possible failure scenarios can be handled. Moreover, this approach is a “1+1” protection technique, which means that the “secondary” traffic is always present, even in a failure free situation, so this approach causes significant extra load in the multicast network, especially in the case of high bandwidth traffic such as HD IPTV streams.
An alternative approach is disclosed in R. Luebben, G. Li, D. Wang, R. Doverspike, X. Fu., “Fast rerouting for IP multicast in managed IPTV networks”, in 17th International Workshop on Quality of Service, 2009. IWQoS., pages 1-5, July 2009. In this approach, however, strictly selected asymmetric link costs and tunneling are needed. Since changing carefully assigned link costs is not always acceptable for network operators, and since even packet fragmentation caused by tunneling can become problematic, this approach is not always applicable.